草庐IT

scrapy -- CrawlSpider类

全部标签

javascript - 使用 Scrapy 从 HTML 中的 <script> 标签中获取数据

我一直在尝试使用Scrapy(xpath)从Kbb的HTML中的脚本标签中提取数据。但我的主要问题是识别正确的div和脚本标签。我刚开始使用xpath,非常感谢任何帮助!HTML(http://www.kbb.com/nissan/altima/2014/25-s-sedan-4d/?vehicleid=392396&intent=buy-used&mileage=10000&condition=fair&pricetype=retail):window.FlashCanvasOptions={swfPath:"/js/canvas/FlashCanvas/UCMarketMeter/

python - 具有长 start_urls 列表和 urls 的 Scrapy Crawling URLs 的顺序来自蜘蛛

帮助!阅读Scrapy的源代码对我来说并不容易。我有一个很长的start_urls列表。文件中大约有3,000,000。所以,我像这样制作start_urls:start_urls=read_urls_from_file(u"XXXX")defread_urls_from_file(file_path):withcodecs.open(file_path,u"r",encoding=u"GB18030")asf:forlineinf:try:url=line.strip()yieldurlexcept:printu"readline:%sfromfilefailed!"%linecon

python - Scrapy with selenium, webdriver 无法实例化

我正在尝试将selenium/phantomjs与scrapy一起使用,但我遇到了很多错误。例如,采用以下代码片段:defparse(self,resposne):whileTrue:try:driver=webdriver.PhantomJS()#dosomestuffdriver.quit()breakexcept(WebDriverException,TimeoutException):try:driver.quit()exceptUnboundLocalError:print"Driverfailedtoinstantiate"time.sleep(3)continue很多时候

python - 在 python 脚本中将参数传递给 scrapy spider

我可以使用wiki中的以下配方在python脚本中运行爬网:fromtwisted.internetimportreactorfromscrapy.crawlerimportCrawlerfromscrapyimportlog,signalsfromtestspiders.spiders.followallimportFollowAllSpiderfromscrapy.utils.projectimportget_project_settingsspider=FollowAllSpider(domain='scrapinghub.com')settings=get_project_se

python - 如何绕过 Scrapy 失败的响应(状态代码 416、999,...)

我正在使用Scrapy编写脚本,但我遇到了失败的HTTP响应的问题。具体来说,我正在尝试从“https://www.crunchbase.com/”中抓取内容,但我一直收到HTTP状态代码416。网站可以阻止蜘蛛抓取其内容吗? 最佳答案 发生的事情是网站正在查看附加到您的请求的header,并确定您不是浏览器,因此阻止了您的请求。但是,如果您决定发送与浏览器相同的header,则网站无法区分Scrapy和Firefox/Chrome/IE/Safari。在Chrome中,打开NetworkTools控制台,您将准确地看到它发送的he

Python Scrapy : TypeError: to_bytes must receive a unicode, str 或 bytes 对象,得到 int

我不知道这段代码有什么问题。我正在尝试从99acres.com抓取数据。我已经通过了帖子参数。这是代码fromscrapyimportSpiderfromscrapy.httpimportFormRequestfromscrapy.selectorimportHtmlXPathSelectorclassaagSpider(Spider):name="acre"start_urls=["http://www.99acres.com"]defparse(self,response):frmdata3={"Refine_Localities":"RefineLocalities","acti

python - Scrapy:下载器/response_count 与 response_received_count

我正在使用scrapy爬取多个网站,想分析爬取率。最后转储的统计信息包含一个downloader/response_count值和一个response_received_count值。前者在系统上大于后者。为什么会有差异,爬虫的哪个元素会增加统计信息收集器中的两个值? 最佳答案 CoreStats是Extension负责response_received_countDownloaderStats是Middleware负责downloader/response_count.CoreStats分机正在连接signals.response

python - Scrapy CrawlSpider : how to access item across different levels of parsing

我正在抓取一个网站(只有两层深度),我想从两层的网站中抓取信息。我遇到的问题是,我想用两个级别的信息填写一个项目的字段。我该怎么做?我正在考虑将一个项目列表作为一个实例变量,所有线程都可以访问它(因为它是蜘蛛的同一个实例),parse_1将填写一些字段,parse_2将必须检查正确的填写相应值之前的键。这种方法看起来很繁琐,我仍然不确定如何使它起作用。我在想一定有更好的方法,也许可以通过某种方式将项目传递给回调。不过,我不知道如何使用Request()方法来做到这一点。想法? 最佳答案 来自scrapy文档:在某些情况下,您可能有兴

python - 如何在python中的scrapy中启用cookiemiddleware

在他们的文档中http://doc.scrapy.org/en/latest/topics/downloader-middleware.html#cookies-mw他们告诉我启用cookiemiddle,但我无法找到如何做到这一点以及为此编辑哪个文件。谁能告诉我我该怎么做 最佳答案 更新cookie似乎默认位于中间件中,因此只需COOKIES_ENABLED=True就足够了。如果中间件不是默认设置的一部分,则只需要以下内容...据我从doc.scrapy.org/en/latest/topics/downloader-middl

python - 使用scrapy分页

我正在尝试抓取此网站:http://www.aido.com/eshop/cl_2-c_189-p_185/stationery/pens.html我可以得到这个页面的所有产品,但是如何发出页面底部“查看更多”链接的请求?到目前为止我的代码是:rules=(Rule(SgmlLinkExtractor(restrict_xpaths='//li[@class="normalLeft"]/div/a',unique=True)),Rule(SgmlLinkExtractor(restrict_xpaths='//div[@id="topParentChilds"]/div/div[@cl